<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Device Level</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-SVD
   &#160;<span id="projectnumber">Version 1.10</span>
   </div>
   <div id="projectbrief">CMSIS System View Description</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
      <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
      <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
      <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
      <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
    </ul>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript" src="dynsections.js"></script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__svd__xml__device__gr.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Device Level</div>  </div>
<div class="ingroups"><a class="el" href="group__svd___format__gr.html">SVD File Schema Levels</a></div></div>
<div class="contents">
<p>The element <b>device</b> provides the outermost frame of the description.</p>
<ul>
<li>Only one device section is allowed per file. All other elements like peripherals, registers, fields, enumerated values, and vendor extensions are described within this scope.</li>
<li>A device contains one or more peripherals.</li>
<li>Optional elements like size, access, resetValue, and resetMask defined on this level are used as default values throughout the device description, unless they get redefined at a lower level. </li>
</ul>
<hr/>
<pre>
<span class="mand"><b>&lt;device schemaVersion=<em>"xs:decimal"</em> xmlns:xs=<em>"http://www.w3.org/2001/XMLSchema-instance"</em> xs:noNamespaceSchemaLocation=<em>"CMSIS-SVD_Schema_1_0.xsd"</em>&gt;</b></span></pre><pre><span class="mand">    &lt;name&gt;<em>identifierType</em>&lt;/name&gt;
    &lt;version&gt;<em>xs:string</em>&lt;/version&gt;
    &lt;description&gt;<em>xs:string</em>&lt;/description&gt;
    &lt;addressUnitBits&gt;<em>scaledNonNegativeInteger</em>&lt;/addressUnitBits&gt;
    &lt;width&gt;<em>scaledNonNegativeInteger</em>&lt;/width&gt;
<span class="opt">
    <em>&lt;!-- registerPropertiesGroup --&gt;</em>
    &lt;size&gt;<em>scaledNonNegativeInteger</em>&lt;/size&gt;
    &lt;access&gt;<em>accessType</em>&lt;/access&gt;
    &lt;resetValue&gt;<em>scaledNonNegativeInteger</em>&lt;/resetValue&gt;
    &lt;resetMask&gt;<em>scaledNonNegativeInteger</em>&lt;/resetMask&gt;
    <em>&lt;!-- end of registerPropertiesGroup --&gt;</em>
</span>
    &lt;peripherals&gt;
        ...
    &lt;/peripherals&gt;
<span class="opt">
    &lt;vendorExtensions&gt;
        ...
    &lt;/vendorExtensions&gt;</span></span></pre><pre><span class="mand"><b>&lt;/device&gt;</b>
</span>
</pre><table  class="cmtable" summary="Device Level Schema">
<tr>
<th>Attribute Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>xmlns:xs </td><td>Specifies the underlying XML schema to which the CMSIS-SVD schema is compliant. Has to be set to: <span class="XML-Token">"http://www.w3.org/2001/XMLSchema-instance"</span>. </td><td>xs:decimal </td><td>1..1  </td></tr>
<tr>
<td>xmlns:xs </td><td>Specifies the file path and file name of the CMSIS-SVD Schema. For example, <span class="XML-Token">CMSIS-SVD_Schema_1_0.xsd</span>. </td><td>xs:string </td><td>1..1  </td></tr>
<tr>
<td>schemaVersion </td><td>Specifies the CMSIS-SVD schema version the description is compliant to (for example, 1.0).  </td><td>xs:decimal </td><td>1..1  </td></tr>
<tr>
<th>Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>name </td><td>The name string is used to identify the device or device series. Device names are required to be unique. </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>version  </td><td>The string defines the version of the file. Silicon vendors maintain the description throughout the life-cycle of the device and ensure that all updated and released copies have a unique version string. Higher numbers indicate a more recent version.   </td><td>xs:string  </td><td>1..1  </td></tr>
<tr>
<td>description  </td><td>String for describing main features of a device (for example CPU, clock frequency, peripheral overview). </td><td>xs:string  </td><td>1..1   </td></tr>
<tr>
<td>addressUnitBits  </td><td>Defines the number of data bits uniquely selected by each address. The value for Cortex-M based devices is 8 (byte-addressable).  </td><td>scaledNonNegativeInteger  </td><td>1..1   </td></tr>
<tr>
<td>width  </td><td>Defines the number of data bit-width of the maximum single data transfer supported by the bus infrastructure. This information is relevant for debuggers when accessing registers, because it might be required to issue multiple accesses for accessing a resource of a bigger size. The expected value for Cortex-M based devices is 32. </td><td>scaledNonNegativeInteger  </td><td>1..1   </td></tr>
<tr class="group1">
<td colspan="4">See <a class="el" href="group__register_properties_group__gr.html">registerPropertiesGroup</a> for details.  </td></tr>
<tr class="group1">
<td align="right">size </td><td>Defines the default bit-width of any register contained in the device (implicit inheritance).  </td><td>scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr class="group1">
<td align="right">access </td><td>Defines the default access rights for all registers. </td><td>accessType </td><td>0..1   </td></tr>
<tr class="group1">
<td align="right">resetValue  </td><td>Defines the default value for all registers at RESET. </td><td>scaledNonNegativeInteger  </td><td>0..1   </td></tr>
<tr class="group1">
<td align="right">resetMask </td><td>Identifies which register bits have a defined reset value. </td><td>scaledNonNegativeInteger </td><td>0..1  </td></tr>
<tr>
<td>peripherals  </td><td>Next level of description. see <a class="el" href="group__svd__xml__peripherals__gr.html">Peripherals Level</a> for details. </td><td>&#160; </td><td>1..1   </td></tr>
<tr>
<td>vendorExtensions  </td><td>The content and format of this section of the description is unspecified. Silicon vendors may choose to provide additional information. By default, this section is ignored for constructing the CMSIS files. It is up to the silicon vendor to specify a schema for this section.  </td><td>xs:anyType (restriction)  </td><td>0..1   </td></tr>
</table>
<h2><a class="anchor" id="dev_ex"></a>
Example:</h2>
<div class="fragment"><pre class="fragment">&lt;device schemaVersion=<span class="stringliteral">&quot;1.0&quot;</span> xmlns:xs=<span class="stringliteral">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> xs:noNamespaceSchemaLocation=<span class="stringliteral">&quot;CMSIS-SVD_Schema_1_0.xsd&quot;</span>&gt;
  &lt;name&gt;ARM_Cortex_M3&lt;/name&gt;
  &lt;version&gt;0.1&lt;/version&gt;
  &lt;description&gt;ARM Cortex-M3 based Microcontroller demonstration device&lt;/description&gt;
  &lt;addressUnitBits&gt;8&lt;/addressUnitBits&gt;
  &lt;width&gt;32&lt;/width&gt;
  &lt;size&gt;32&lt;/size&gt;
  &lt;access&gt;read-write&lt;/access&gt;
  &lt;resetValue&gt;0&lt;/resetValue&gt;
  &lt;resetMask&gt;0xffffffff&lt;/resetMask&gt;

  &lt;peripherals&gt;
    ...
  &lt;/peripherals&gt;
&lt;/device&gt;
</pre></div><p>The device description above is at version 0.1 and uniquely identifies the device by the name "ARM_Cortex_M3". The peripherals are memory mapped in a byte-addressable address space with a bus width of 32 bits. The default size of the registers contained in the peripherals is set to 32 bits. Unless redefined for specific peripherals, all registers or fields are read-write accessible. A reset value of 0, valid for all 32 bits as specified by the reset mask, is set for all registers unless redefined at a lower level. </p>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
    <!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
    -->
    </li>
   </ul>
 </div>


</body>
</html>
